From Safety To Termination And Back: SMT-Based Verification For Lazy Languages

نویسندگان

  • Niki Vazou
  • Eric L. Seidel
  • Ranjit Jhala
چکیده

SMT-based verifiers have long been an effective means of ensuring safety properties of programs. While these techniques are well understood, we show that they implicitly require eager semantics; directly applying them to a lazy language is unsound due to the presence of divergent sub-computations. We recover soundness by composing the safety analysis with a termination analysis. Of course, termination is itself a challenging problem, but we show how the safety analysis can be used to ensure termination, thereby bootstrapping soundness for the entire system. Thus, while safety invariants have long been required to prove termination, we show how termination proofs can be to soundly establish safety. We have implemented our approach in LIQUIDHASKELL, a Refinement Type-based verifier for Haskell. We demonstrate its effectiveness via an experimental evaluation using LIQUIDHASKELL to verify safety, functional correctness and termination properties of real-world Haskell libraries, totaling over 10,000 lines of code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

SMT-based Software Model Checking: An Experimental Comparison of Four Algorithms

After many years of successful development of new algorithms for software model checking, there is a need to consolidate the knowledge about the different algorithms and approaches. This paper gives a coarse overview in terms of effectiveness and efficiency of four algorithms. We compare the following different “schools of thought” of algorithms: bounded model checking, k-induction, predicate a...

متن کامل

From Machine Arithmetic to Approximations and back again: Improved SMT Methods for Numeric Data Types

Zeljić, A. 2017. From Machine Arithmetic to Approximations and back again. Improved SMT Methods for Numeric Data Types. Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology 1603. 55 pp. Uppsala: Acta Universitatis Upsaliensis. ISBN 978-91-513-0162-4. Safety-critical systems, especially those found in avionics and automotive industries, rely on mach...

متن کامل

Lazy Satisfiability Modulo Theories

Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a first-order formula with respect to some decidable first-order theory T (SMT (T )). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingly important due to its applications in many domains in different communities, in particular in f...

متن کامل

Lazy Satisability Modulo Theories

Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a first-order formula with respect to some decidable first-order theory T (SMT (T )). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingly important due to its applications in many domains in different communities, in particular in f...

متن کامل

Higher-Order in SMT

Improving the security of many applications in business, industry and scientific research requires procedures to determine the satisfiability of logical formulas with respect to some specific theory, e.g. arithmetic on integers and reals, arrays or bit-vectors. One usual way to reach this aim is to use Satisfiability Modulo Theories (SMT) solvers. SMT stems from the propositional satisfiability...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1401.6227  شماره 

صفحات  -

تاریخ انتشار 2014